package com.zx.ishopping.services;

import com.zx.ishopping.DTO.ProductDto;
import com.zx.ishopping.DTO.ProductPageDTO;

import com.zx.ishopping.entity.Products;
import com.zx.ishopping.results.PageResult;

import java.util.List;


public interface ProductService {
    /**
     * 根据分类id获取商品数量
     * @param categoryId
     * @return
     */
    Long getProductNumByCategoryId(Long categoryId);

    /**
     * 分页查询商品
     * @param productPageDTO
     * @return
     */
    PageResult pageQuery(ProductPageDTO productPageDTO);

    /**
     * 更新商品信息
     * @param products
     */
    void updateProduct(Products products);

    /**
     * 删除商品
     * @param ids
     */
    void deleteProduct(List<Long> ids);

    /**
     * 添加商品
     * @param productDto
     */
    void addProduct(ProductDto productDto);

    /**
     * 根据商品id查询商品
     *
     * @param
     * @return
     */
    PageResult getProductList(ProductPageDTO productPageDTO);

    /**
     * 获取最畅销商品
     * @return
     */
    List<Products> getBestSaleProductList();
}
